package com.ziytek.web.citizen.model.req;

import com.ziytek.web.citizen.constant.ServerConstant;
import com.ziytek.web.citizen.util.StringUtil;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;

import java.util.Date;

/**
 * @author fenghx
 * @version v1.0
 * @className QueryBatteriesD
 * @descripton 查询充放电电流电压详情数据
 * @date 2023/4/20 14:23
 **/
@Data
@Slf4j
public class BatteryExportReq {
    /**
     * 用户token
     */
    private String token;

    /**
     * 机柜编号
     */
    @NotBlank(message = "机柜编号不能为空")
    private String cabinetNo;

    /**
     * 导出文件名 格式: yyyy-MM-dd HH:mm:ss 对应工步执行时间
     */
    @NotBlank(message = "导出文件名不能为空")
    private String exportFileName;

    public void requestCheckFileName() {
        if (StringUtil.isEmpty(this.exportFileName)) {
            this.exportFileName = "电芯曲线实时数据导出_" + DateFormatUtils.format(System.currentTimeMillis(), ServerConstant.DATE_FORMAT_TIME_STR);
        }
    }


    /**
     * @return name
     */
    public Date getExportNameDate() {
        if (!StringUtil.isEmpty(this.exportFileName)) {
            try {
               return DateUtils.parseDate(this.exportFileName, ServerConstant.DATE_FORMAT);
            } catch (Exception e) {
                log.info("日期格式错误,请检查日期格式是否正确,格式: yyyy-MM-dd HH:mm:ss, name:{}", this.exportFileName, e);
            }
        }

        return null;
    }


}
